package com.ymttest.common.entitie;

import java.math.BigDecimal;
import java.util.List;

public class C2COrderInfo extends ProductInfo {
	public static class C2COrderInfoExt extends C2COrderInfo {
		private BigDecimal postpayAmount;
		private BigDecimal postpayUseGiftAmount;
		private String postpayAccountAndGiftInfo;
		private BigDecimal fSellerPromotionAmount;

		public BigDecimal getPostpayAmount() {
			Check();
			return postpayAmount;
		}

		public void setPostpayAmount(BigDecimal postpayAmount) {
			this.postpayAmount = postpayAmount;
		}

		public BigDecimal getPostpayUseGiftAmount() {
			Check();
			return postpayUseGiftAmount;
		}

		public void setPostpayUseGiftAmount(BigDecimal postpayUseGiftAmount) {
			this.postpayUseGiftAmount = postpayUseGiftAmount;
		}

		public String getPostpayAccountAndGiftInfo() {
			return postpayAccountAndGiftInfo;
		}

		private boolean converted;

		public void setPostpayAccountAndGiftInfo(
				String postpayAccountAndGiftInfo) {
			this.postpayAccountAndGiftInfo = postpayAccountAndGiftInfo;
		}

		private void Check() {
			if (converted) {
				return;
			}
			if (this.postpayAccountAndGiftInfo != null
					&& this.postpayAccountAndGiftInfo.length() > 1) {
				String[] arr = postpayAccountAndGiftInfo.split("\\|");
				if (arr.length == 2) {
					this.postpayAmount = new BigDecimal(arr[0]);
					this.postpayUseGiftAmount = new BigDecimal(arr[1]);
				}
			}
			converted = true;
		}

		public BigDecimal getfSellerPromotionAmount() {
			return fSellerPromotionAmount;
		}

		public void setfSellerPromotionAmount(BigDecimal fSellerPromotionAmount) {
			this.fSellerPromotionAmount = fSellerPromotionAmount;
		}

	}

	public static class OrderProductInfos {
		private List<C2COrderInfoExt> OrderInfos;
		private List<ProductInfoExt> ProductInfos;
		private List<RefundBillInfo> RefundBillInfos;

		public List<C2COrderInfoExt> getOrderInfos() {
			return OrderInfos;
		}

		public void setOrderInfos(List<C2COrderInfoExt> orderInfos) {
			OrderInfos = orderInfos;
		}

		public List<ProductInfoExt> getProductInfos() {
			return ProductInfos;
		}

		public void setProductInfos(List<ProductInfoExt> productInfos) {
			ProductInfos = productInfos;
		}

		public List<RefundBillInfo> getRefundBillInfos() {
			return RefundBillInfos;
		}

		public void setRefundBillInfos(List<RefundBillInfo> refundBillInfos) {
			RefundBillInfos = refundBillInfos;
		}

	}

	public static class RefundBillInfo {
		private int OrderId;
		private String RefundBillNo;
		private BigDecimal RefundAmount;
		private int RefundType;
		private String Approver;
		private String AddTime;

		public int getOrderId() {
			return OrderId;
		}

		public void setOrderId(int orderId) {
			OrderId = orderId;
		}

		public String getRefundBillNo() {
			return RefundBillNo;
		}

		public void setRefundBillNo(String refundBillNo) {
			RefundBillNo = refundBillNo;
		}

		public BigDecimal getRefundAmount() {
			return RefundAmount;
		}

		public void setRefundAmount(BigDecimal refundAmount) {
			RefundAmount = refundAmount;
		}

		public int getRefundType() {
			return RefundType;
		}

		public void setRefundType(int refundType) {
			RefundType = refundType;
		}

		public String getApprover() {
			return Approver;
		}

		public void setApprover(String approver) {
			Approver = approver;
		}

		public String getAddTime() {
			return AddTime;
		}

		public void setAddTime(String addTime) {
			AddTime = addTime;
		}

	}

	// 买家Id
	private int iUserId;

	// 买家登录名
	private String sBuyerLoginId;

	// 下单时间
	private String dAddTime;

	// 订单金额
	private BigDecimal fOrderPrice;

	// 订单折扣
	private BigDecimal fOrderDiscount;

	// 自动取消时间
	private BigDecimal fAutoCancelOrderHours;

	// 订单状态
	private int iTradingStatus;

	// 红包金额
	private BigDecimal fUseGiftAmount;

	// 订单留言
	private String sLeaveWord;

	// 商家ID
	private int iBuyerId;

	// 发货时间
	private String dDispathTime;

	// 是否全额付款
	private boolean bPaidInFull;

	// 冻结时间
	private String dFrozenTime;

	// 是否订单冻结(此时不能确认收货)
	private boolean bFrozen;

	// 冻结自动确认收货
	private boolean bFrozenAutoReceive;

	// 发起投诉人
	private Integer iFrozenUserId;

	private boolean bCanLocalReturn;

	private String dApplyLocalReturnTime;

	private String IdCardUploadedKey;

	private boolean bIsNeedUploadIdCard;

	private String sOrderSource;

	private int iOrderType;

	private BigDecimal fTotalPrice;

	private BigDecimal fFreight;

	// 确认收货时间
	private String dConfirmedTime;

	// 第三方支付退款状态
	private Integer iThirdPartyRefundStatus;

	// 收件人
	private String sReceivePerson;

	// 收件地址
	private String sAddress;

	// 邮编
	private String sPostCode;

	// 手机
	private String sPhone;

	// 电话
	private String sTelephone;

	// 订单取消原因
	private String sReason;

	// 卖家留言
	private String sellerNote;

	// 是否扫货订单
	private boolean bShangouOrder;

	// 卖家登录ID
	private String sSellerLoginId;

	// 交易号(非尾款)
	private int iTradingId;

	// 优惠券金额
	private BigDecimal CouponValue;

	// 优惠券码
	private String sCouponCode;

	private int iCouponChannel;

	// Ymt_OrderState Begin
	private BigDecimal fCommissionFee;
	private BigDecimal fNeedCommissionFee;
	private BigDecimal fPaidAmountOfCash;
	private BigDecimal fPaidAmountOfCoupon;
	private BigDecimal fPaidAmountOfFreeCard;
	private BigDecimal fPaidAmountOfGift;
	private BigDecimal fPostPadiAmountOfCoupon;
	private BigDecimal fPostPaidAmountOfCash;
	private BigDecimal fPostPaidAmountOfGift;
	private BigDecimal fQuickTurnoverAmount;
	private BigDecimal fRefundedAmountOfCash;
	private BigDecimal fRefundedAmountOfCoupon;
	private BigDecimal fRefundedAmountOfGift;
	// Ymt_OrderState End

	private boolean bHaveUploadedIdCard;

	private Integer iSalesRefundStatus;

	private String dPaidTime;
	private String dAcceptTime;
	private String dPostPaidTime;

	private boolean buyerInBlacklist;

	private String ThirdPartyPaidInfo;

	private String ThirdPartyPostpaidInfo;

	private String dApplyPostPayTime;

	private boolean bPause;

	private boolean bEvaluated;

	// 应补款金额
	private BigDecimal postpayAmount;

	// 补款时使用的红包数量
	private BigDecimal postpayUseGiftAmount;

	private int iMainOrderId;

	private String sSellerCouponCode;

	private String sYmtCouponCode;

	private BigDecimal fYmtCouponAmount;

	private BigDecimal fSellerCouponAmount;
	private BigDecimal fPaidAmountOfYmtCoupon;
	private BigDecimal fPaidAmountOfSellerCoupon;

	public int getiUserId() {
		return iUserId;
	}

	public void setiUserId(int iUserId) {
		this.iUserId = iUserId;
	}

	public String getsBuyerLoginId() {
		return sBuyerLoginId;
	}

	public void setsBuyerLoginId(String sBuyerLoginId) {
		this.sBuyerLoginId = sBuyerLoginId;
	}

	public String getdAddTime() {
		return dAddTime;
	}

	public void setdAddTime(String dAddTime) {
		this.dAddTime = dAddTime;
	}

	public BigDecimal getfOrderPrice() {
		return fOrderPrice;
	}

	public void setfOrderPrice(BigDecimal fOrderPrice) {
		this.fOrderPrice = fOrderPrice;
	}

	public BigDecimal getfOrderDiscount() {
		return fOrderDiscount;
	}

	public void setfOrderDiscount(BigDecimal fOrderDiscount) {
		this.fOrderDiscount = fOrderDiscount;
	}

	public BigDecimal getfAutoCancelOrderHours() {
		return fAutoCancelOrderHours;
	}

	public void setfAutoCancelOrderHours(BigDecimal fAutoCancelOrderHours) {
		this.fAutoCancelOrderHours = fAutoCancelOrderHours;
	}

	public int getiTradingStatus() {
		return iTradingStatus;
	}

	public void setiTradingStatus(int iTradingStatus) {
		this.iTradingStatus = iTradingStatus;
	}

	public BigDecimal getfUseGiftAmount() {
		return fUseGiftAmount;
	}

	public void setfUseGiftAmount(BigDecimal fUseGiftAmount) {
		this.fUseGiftAmount = fUseGiftAmount;
	}

	public String getsLeaveWord() {
		return sLeaveWord;
	}

	public void setsLeaveWord(String sLeaveWord) {
		this.sLeaveWord = sLeaveWord;
	}

	public int getiBuyerId() {
		return iBuyerId;
	}

	public void setiBuyerId(int iBuyerId) {
		this.iBuyerId = iBuyerId;
	}

	public String getdDispathTime() {
		return dDispathTime;
	}

	public void setdDispathTime(String dDispathTime) {
		this.dDispathTime = dDispathTime;
	}

	public boolean isbPaidInFull() {
		return bPaidInFull;
	}

	public void setbPaidInFull(boolean bPaidInFull) {
		this.bPaidInFull = bPaidInFull;
	}

	public String getdFrozenTime() {
		return dFrozenTime;
	}

	public void setdFrozenTime(String dFrozenTime) {
		this.dFrozenTime = dFrozenTime;
	}

	public boolean isbFrozen() {
		return bFrozen;
	}

	public void setbFrozen(boolean bFrozen) {
		this.bFrozen = bFrozen;
	}

	public boolean isbFrozenAutoReceive() {
		return bFrozenAutoReceive;
	}

	public void setbFrozenAutoReceive(boolean bFrozenAutoReceive) {
		this.bFrozenAutoReceive = bFrozenAutoReceive;
	}

	public Integer getiFrozenUserId() {
		return iFrozenUserId;
	}

	public void setiFrozenUserId(Integer iFrozenUserId) {
		this.iFrozenUserId = iFrozenUserId;
	}

	public boolean isbCanLocalReturn() {
		return bCanLocalReturn;
	}

	public void setbCanLocalReturn(boolean bCanLocalReturn) {
		this.bCanLocalReturn = bCanLocalReturn;
	}

	public String getdApplyLocalReturnTime() {
		return dApplyLocalReturnTime;
	}

	public void setdApplyLocalReturnTime(String dApplyLocalReturnTime) {
		this.dApplyLocalReturnTime = dApplyLocalReturnTime;
	}

	public String getIdCardUploadedKey() {
		return IdCardUploadedKey;
	}

	public void setIdCardUploadedKey(String idCardUploadedKey) {
		IdCardUploadedKey = idCardUploadedKey;
	}

	public boolean isbIsNeedUploadIdCard() {
		return bIsNeedUploadIdCard;
	}

	public void setbIsNeedUploadIdCard(boolean bIsNeedUploadIdCard) {
		this.bIsNeedUploadIdCard = bIsNeedUploadIdCard;
	}

	public String getsOrderSource() {
		return sOrderSource;
	}

	public void setsOrderSource(String sOrderSource) {
		this.sOrderSource = sOrderSource;
	}

	public int getiOrderType() {
		return iOrderType;
	}

	public void setiOrderType(int iOrderType) {
		this.iOrderType = iOrderType;
	}

	public BigDecimal getfTotalPrice() {
		return fTotalPrice;
	}

	public void setfTotalPrice(BigDecimal fTotalPrice) {
		this.fTotalPrice = fTotalPrice;
	}

	public BigDecimal getfFreight() {
		return fFreight;
	}

	public void setfFreight(BigDecimal fFreight) {
		this.fFreight = fFreight;
	}

	public String getdConfirmedTime() {
		return dConfirmedTime;
	}

	public void setdConfirmedTime(String dConfirmedTime) {
		this.dConfirmedTime = dConfirmedTime;
	}

	public Integer getiThirdPartyRefundStatus() {
		return iThirdPartyRefundStatus;
	}

	public void setiThirdPartyRefundStatus(Integer iThirdPartyRefundStatus) {
		this.iThirdPartyRefundStatus = iThirdPartyRefundStatus;
	}

	public String getsReceivePerson() {
		return sReceivePerson;
	}

	public void setsReceivePerson(String sReceivePerson) {
		this.sReceivePerson = sReceivePerson;
	}

	public String getsAddress() {
		return sAddress;
	}

	public void setsAddress(String sAddress) {
		this.sAddress = sAddress;
	}

	public String getsPostCode() {
		return sPostCode;
	}

	public void setsPostCode(String sPostCode) {
		this.sPostCode = sPostCode;
	}

	public String getsPhone() {
		return sPhone;
	}

	public void setsPhone(String sPhone) {
		this.sPhone = sPhone;
	}

	public String getsTelephone() {
		return sTelephone;
	}

	public void setsTelephone(String sTelephone) {
		this.sTelephone = sTelephone;
	}

	public String getsReason() {
		return sReason;
	}

	public void setsReason(String sReason) {
		this.sReason = sReason;
	}

	public String getSellerNote() {
		return sellerNote;
	}

	public void setSellerNote(String sellerNote) {
		this.sellerNote = sellerNote;
	}

	public boolean isbShangouOrder() {
		return bShangouOrder;
	}

	public void setbShangouOrder(boolean bShangouOrder) {
		this.bShangouOrder = bShangouOrder;
	}

	public String getsSellerLoginId() {
		return sSellerLoginId;
	}

	public void setsSellerLoginId(String sSellerLoginId) {
		this.sSellerLoginId = sSellerLoginId;
	}

	public int getiTradingId() {
		return iTradingId;
	}

	public void setiTradingId(int iTradingId) {
		this.iTradingId = iTradingId;
	}

	public BigDecimal getCouponValue() {
		return CouponValue;
	}

	public void setCouponValue(BigDecimal couponValue) {
		CouponValue = couponValue;
	}

	public String getsCouponCode() {
		return sCouponCode;
	}

	public void setsCouponCode(String sCouponCode) {
		this.sCouponCode = sCouponCode;
	}

	public int getiCouponChannel() {
		return iCouponChannel;
	}

	public void setiCouponChannel(int iCouponChannel) {
		this.iCouponChannel = iCouponChannel;
	}

	public BigDecimal getfCommissionFee() {
		return fCommissionFee;
	}

	public void setfCommissionFee(BigDecimal fCommissionFee) {
		this.fCommissionFee = fCommissionFee;
	}

	public BigDecimal getfNeedCommissionFee() {
		return fNeedCommissionFee;
	}

	public void setfNeedCommissionFee(BigDecimal fNeedCommissionFee) {
		this.fNeedCommissionFee = fNeedCommissionFee;
	}

	public BigDecimal getfPaidAmountOfCash() {
		return fPaidAmountOfCash;
	}

	public void setfPaidAmountOfCash(BigDecimal fPaidAmountOfCash) {
		this.fPaidAmountOfCash = fPaidAmountOfCash;
	}

	public BigDecimal getfPaidAmountOfCoupon() {
		return fPaidAmountOfCoupon;
	}

	public void setfPaidAmountOfCoupon(BigDecimal fPaidAmountOfCoupon) {
		this.fPaidAmountOfCoupon = fPaidAmountOfCoupon;
	}

	public BigDecimal getfPaidAmountOfFreeCard() {
		return fPaidAmountOfFreeCard;
	}

	public void setfPaidAmountOfFreeCard(BigDecimal fPaidAmountOfFreeCard) {
		this.fPaidAmountOfFreeCard = fPaidAmountOfFreeCard;
	}

	public BigDecimal getfPaidAmountOfGift() {
		return fPaidAmountOfGift;
	}

	public void setfPaidAmountOfGift(BigDecimal fPaidAmountOfGift) {
		this.fPaidAmountOfGift = fPaidAmountOfGift;
	}

	public BigDecimal getfPostPadiAmountOfCoupon() {
		return fPostPadiAmountOfCoupon;
	}

	public void setfPostPadiAmountOfCoupon(BigDecimal fPostPadiAmountOfCoupon) {
		this.fPostPadiAmountOfCoupon = fPostPadiAmountOfCoupon;
	}

	public BigDecimal getfPostPaidAmountOfCash() {
		return fPostPaidAmountOfCash;
	}

	public void setfPostPaidAmountOfCash(BigDecimal fPostPaidAmountOfCash) {
		this.fPostPaidAmountOfCash = fPostPaidAmountOfCash;
	}

	public BigDecimal getfPostPaidAmountOfGift() {
		return fPostPaidAmountOfGift;
	}

	public void setfPostPaidAmountOfGift(BigDecimal fPostPaidAmountOfGift) {
		this.fPostPaidAmountOfGift = fPostPaidAmountOfGift;
	}

	public BigDecimal getfQuickTurnoverAmount() {
		return fQuickTurnoverAmount;
	}

	public void setfQuickTurnoverAmount(BigDecimal fQuickTurnoverAmount) {
		this.fQuickTurnoverAmount = fQuickTurnoverAmount;
	}

	public BigDecimal getfRefundedAmountOfCash() {
		return fRefundedAmountOfCash;
	}

	public void setfRefundedAmountOfCash(BigDecimal fRefundedAmountOfCash) {
		this.fRefundedAmountOfCash = fRefundedAmountOfCash;
	}

	public BigDecimal getfRefundedAmountOfCoupon() {
		return fRefundedAmountOfCoupon;
	}

	public void setfRefundedAmountOfCoupon(BigDecimal fRefundedAmountOfCoupon) {
		this.fRefundedAmountOfCoupon = fRefundedAmountOfCoupon;
	}

	public BigDecimal getfRefundedAmountOfGift() {
		return fRefundedAmountOfGift;
	}

	public void setfRefundedAmountOfGift(BigDecimal fRefundedAmountOfGift) {
		this.fRefundedAmountOfGift = fRefundedAmountOfGift;
	}

	public boolean isbHaveUploadedIdCard() {
		return bHaveUploadedIdCard;
	}

	public void setbHaveUploadedIdCard(boolean bHaveUploadedIdCard) {
		this.bHaveUploadedIdCard = bHaveUploadedIdCard;
	}

	public Integer getiSalesRefundStatus() {
		return iSalesRefundStatus;
	}

	public void setiSalesRefundStatus(Integer iSalesRefundStatus) {
		this.iSalesRefundStatus = iSalesRefundStatus;
	}

	public String getdPaidTime() {
		return dPaidTime;
	}

	public void setdPaidTime(String dPaidTime) {
		this.dPaidTime = dPaidTime;
	}

	public String getdAcceptTime() {
		return dAcceptTime;
	}

	public void setdAcceptTime(String dAcceptTime) {
		this.dAcceptTime = dAcceptTime;
	}

	public String getdPostPaidTime() {
		return dPostPaidTime;
	}

	public void setdPostPaidTime(String dPostPaidTime) {
		this.dPostPaidTime = dPostPaidTime;
	}

	public boolean isBuyerInBlacklist() {
		return buyerInBlacklist;
	}

	public void setBuyerInBlacklist(boolean buyerInBlacklist) {
		this.buyerInBlacklist = buyerInBlacklist;
	}

	public String getThirdPartyPaidInfo() {
		return ThirdPartyPaidInfo;
	}

	public void setThirdPartyPaidInfo(String thirdPartyPaidInfo) {
		ThirdPartyPaidInfo = thirdPartyPaidInfo;
	}

	public String getThirdPartyPostpaidInfo() {
		return ThirdPartyPostpaidInfo;
	}

	public void setThirdPartyPostpaidInfo(String thirdPartyPostpaidInfo) {
		ThirdPartyPostpaidInfo = thirdPartyPostpaidInfo;
	}

	public String getdApplyPostPayTime() {
		return dApplyPostPayTime;
	}

	public void setdApplyPostPayTime(String dApplyPostPayTime) {
		this.dApplyPostPayTime = dApplyPostPayTime;
	}

	public boolean isbPause() {
		return bPause;
	}

	public void setbPause(boolean bPause) {
		this.bPause = bPause;
	}

	public boolean isbEvaluated() {
		return bEvaluated;
	}

	public void setbEvaluated(boolean bEvaluated) {
		this.bEvaluated = bEvaluated;
	}

	public BigDecimal getPostpayAmount() {
		return postpayAmount;
	}

	public void setPostpayAmount(BigDecimal postpayAmount) {
		this.postpayAmount = postpayAmount;
	}

	public BigDecimal getPostpayUseGiftAmount() {
		return postpayUseGiftAmount;
	}

	public void setPostpayUseGiftAmount(BigDecimal postpayUseGiftAmount) {
		this.postpayUseGiftAmount = postpayUseGiftAmount;
	}

	public int getiMainOrderId() {
		return iMainOrderId;
	}

	public void setiMainOrderId(int iMainOrderId) {
		this.iMainOrderId = iMainOrderId;
	}

	public String getsSellerCouponCode() {
		return sSellerCouponCode;
	}

	public void setsSellerCouponCode(String sSellerCouponCode) {
		this.sSellerCouponCode = sSellerCouponCode;
	}

	public String getsYmtCouponCode() {
		return sYmtCouponCode;
	}

	public void setsYmtCouponCode(String sYmtCouponCode) {
		this.sYmtCouponCode = sYmtCouponCode;
	}

	public BigDecimal getfYmtCouponAmount() {
		return fYmtCouponAmount;
	}

	public void setfYmtCouponAmount(BigDecimal fYmtCouponAmount) {
		this.fYmtCouponAmount = fYmtCouponAmount;
	}

	public BigDecimal getfSellerCouponAmount() {
		return fSellerCouponAmount;
	}

	public void setfSellerCouponAmount(BigDecimal fSellerCouponAmount) {
		this.fSellerCouponAmount = fSellerCouponAmount;
	}

	public BigDecimal getfPaidAmountOfYmtCoupon() {
		return fPaidAmountOfYmtCoupon;
	}

	public void setfPaidAmountOfYmtCoupon(BigDecimal fPaidAmountOfYmtCoupon) {
		this.fPaidAmountOfYmtCoupon = fPaidAmountOfYmtCoupon;
	}

	public BigDecimal getfPaidAmountOfSellerCoupon() {
		return fPaidAmountOfSellerCoupon;
	}

	public void setfPaidAmountOfSellerCoupon(
			BigDecimal fPaidAmountOfSellerCoupon) {
		this.fPaidAmountOfSellerCoupon = fPaidAmountOfSellerCoupon;
	}

}
